/*
    Copyright is LuoYuShun to 2022-2022
*/
package cn.com.laya.service.fourdemo.deals;

import cn.com.laya.service.fourdemo.bean.ResultResponse;

import java.util.function.Consumer;

/**
 * 描述
 *
 * @author LuoYuShun
 * @since 2022-11-24
 */
public interface MessageDealHandler {
    /**
     * 是不是这个处理器进行处理的
     *
     * @param messageType 消息的类型
     * @param handlerType 处理器的类型
     * @return 返回信息
     */
    boolean isHandler(String messageType, String handlerType);

    /**
     * 处理消息提
     *
     * @param message 消息
     * @param fallBackInvoke 回调的函数
     * @param <S> 消息的参数类型
     */
    <S> void dealMessage(S message, Consumer<ResultResponse<?>> fallBackInvoke);
}
